package com.suep.business.controller;

import com.suep.system.config.BaseR;
import com.suep.business.domain.Store;
import com.suep.business.service.IStoreService;
import com.suep.system.utils.RequestAttributeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

@RestController
@RequestMapping("/store")
public class StoreController {
    @Autowired
    private IStoreService storeService;
    @GetMapping("/getById")
    public BaseR<Store> getStoreById(@RequestParam("storeId") Integer storeId) {
        Store store = storeService.getStoreById(storeId);
        return new BaseR<>().ok("店铺信息获取成功！", store);
    }

    @GetMapping("/getByUserId")
    public BaseR<Store> getStoreByUserid(HttpServletRequest request) {
        Integer userId= RequestAttributeUtil.getUserIdFromRequest(request);
        return new BaseR<>().ok("店铺信息获取成功！", storeService.getStoreByUserId(userId));
    }

    @GetMapping("/getAll")
    public BaseR<List<Store>> getAll() {
        List<Store> stores = storeService.getAllStores();
        return new BaseR<>().ok("店铺信息获取成功！", stores);
    }

    @PostMapping
    public BaseR<Integer> insertStore(Store store) {
        Integer result = storeService.insertStore(store);
        return new BaseR<Integer>().ok("店铺插入成功！", result);
    }

    @PutMapping
    public BaseR<Integer> change(Store store) {
        Integer result = storeService.updateStore(store);
        return new BaseR<Integer>().ok("店铺更新成功！", result);
    }

    @DeleteMapping
    public BaseR<Integer> remove(@RequestParam("storeId") Integer storeId) {
        Integer result = storeService.selectStore(storeId);
        return new BaseR<Integer>().ok("店铺删除成功！", result);
    }
}
